1. Technical Field
This disclosure relates generally to electronic devices and in particular, but not exclusively, to generation of a random number.
2. Background Art
Random number generators, which ideally produce some unpredictable result, are useful in a wide variety of applications including networking, statistics and computational modeling. In computer networking, near field communications and other communications, secure data encryption/decryption often depends upon keys which are generated based on random numbers.
Pseudo-random numbers are often used as an alternative in applications where randomness requirements are comparatively low. Many computer programming languages include functions or library routines that claim to be random number generators. They are often designed to provide a pseudo-random byte or word, or floating point numbers uniformly distributed between zero (0) and one (1). Such library functions often have poor statistical properties and some will repeat patterns after only tens of thousands of trials.
As the number and variety of security risks increases for computer networking and other types of communication, the need for highly unpredictable number generation increases. Moreover, as successively smaller, more power-efficient devices continue to incorporate a wider range of processing functionality and/or communication functionality, there is an increasing demand for such devices to support better random number generation. Unfortunately, conventional mechanisms for true random number generation are typically inefficient with respect to one or more of complexity, speed, size and power.